#include "sum_integers.hpp"
#include <iostream>        
#include <string>           
#include <vector>           

int main(int argc, char *argv[]) 
{
    std::vector<int> integers;
    // 从命令行参数中收集整数
    // argv[0] 是程序名,所以从 argv[1] 开始

    for (auto i = 1; i < argc; i++) {

        try {

            integers.push_back(std::stoi(argv[i])); // 将字符串转换为整数并添加到向量

        } catch (const std::invalid_argument& e) {

            std::cerr << "错误: 无效参数 '" << argv[i] << "'。请提供整数。" << std::endl;

            return 1; 

        } catch (const std::out_of_range& e) {

            std::cerr << "错误: 参数 '" << argv[i] << "' 超出整数范围。" << std::endl;

            return 1;

        }

    }



    auto sum = sum_integers(integers); // 调用求和函数

    std::cout << sum << std::endl; 

    return 0; 

}